package com.atguigu.principle.ocp.improve;

/**
 * @program: design-patterns
 * @author: yangshen
 * @description: 这是一个用于绘图的类 - (也就是 - 使用方)
 *      把创建Shape类做成抽象类，并提供一个抽象的draw方法，让子类去实现即可，
 *      这样我们有新的图形种类时，只需要让新的图形类继承Shape，并实现draw方法即可，比如新增一个图形 OtherGraphic.java，
 *      使用方的代码就不需要修 -> 满足了开闭原则
 * @create: 2022-01-12 20:09
 **/
public class GraphicEditor {
    /**
     * 接收Shape对象，根据不同的type值，绘制不同的图形
     * @param shape 图形类（图形基类）
     */
    public void drawShape(Shape shape){
        shape.draw();
    }

}
